//package me.zhengjie.config;
//
//import cn.hutool.core.util.StrUtil;
//import lombok.Data;
//import org.redisson.Redisson;
//import org.redisson.api.RedissonClient;
//import org.redisson.config.Config;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.boot.autoconfigure.AutoConfigureBefore;
//import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//@Data
//@Configuration
//@AutoConfigureBefore(RedisAutoConfiguration.class)
//public class RedissonConfiguration {
//
//    @Value("${spring.redis.host}")
//    private String redisHost;
//
//    @Value("${spring.redis.port}")
//    private int redisPort;
//
//    @Value("${spring.redis.database}")
//    private int redisDatabase;
//
//    @Value("${spring.redis.password:}")
//    private String redisPassword;
//
//    @Value("${spring.redis.timeout:5000}")
//    private int timeout;
//
//    @Value("${spring.redis.lettuce.pool.max-active:64}")
//    private int connectionPoolSize;
//
//    @Value("${spring.redis.lettuce.pool.min-idle:16}")
//    private int connectionMinimumIdleSize;
//
//    @Bean
//    public RedissonClient redissonClient() {
//        Config config = new Config();
//        config.useSingleServer()
//                .setAddress("redis://" + redisHost + ":" + redisPort)
//                .setDatabase(redisDatabase)
//                .setTimeout(timeout)
//                .setConnectionPoolSize(connectionPoolSize)
//                .setConnectionMinimumIdleSize(connectionMinimumIdleSize);
//        if(StrUtil.isNotBlank(redisPassword)){
//            config.useSingleServer().setPassword(redisPassword);
//        }
//        return Redisson.create(config);
//    }
//}
//
//
